[アップデート]Cloud FunctionsがCloud Run Functions(Cloud Run関数)になりました

[アップデート]Cloud FunctionsがCloud Run Functions(Cloud Run関数)になりました

Cloud FunctionsがCloud Run Functions(Cloud Run関数)になったアップデートの内容をまとめてみました。
Clock Icon2024.08.22

Cloud FunctionsがCloud Run Functions(以下Cloud Run関数)となるアップデートがありました。
https://cloud.google.com/blog/products/serverless/google-cloud-functions-is-now-cloud-run-functions?hl=en
すでにGoogle Cloudのコンソールの検索欄からCloud Functionsを検索するとCloud Functionsは表示されず、Cloud Run関数が表示されるようになっています。
スクリーンショット 2024-08-20 17.04.38

ソリューション一覧のサーバレスの項目からもCloud Functionsは消えていてCloud Run関数が存在しています。
スクリーンショット 2024-08-20 18.25.18

以前はCloud Functionsがいました。
スクリーンショット 2024-08-20 18.21.27

アップデート概要

Cloud FunctionsのインフラストラクチャがCloud Runと統合され、Cloud Functions(第2世代)はNVIDIA GPUを含むすべての新しいCloud Run機能に即座にアクセスできるとのことです。

Cloud Run関数のデプロイコマンドもプレビューとなったようです。
https://cloud.google.com/run/docs/deploy-functions

Cloud Functions(第2世代)で作成されたすべての関数は、すべてのCloud Runの機能(Cloud Storageボリュームのマウント(FUSE)やサイドカーコンテナ・リビジョン管理・GPU対応など)を使用できるようになったとのことです。

既存のCloud Functionsの機能はどうなるのか

Cloud Run Functionsでは、既存のCloud Functions API、gcloudコマンド、およびTerraformモジュール(第2世代)を引き続きサポートするとのことです。またCloud Functions第2世代の関数は自動的にCloud Run関数に変換されています(第1世代はCloud Run 関数(第 1 世代)に変換)。

Cloud Run関数のコンソールを見てみたところ、Cloud Functionsに存在していた関数が表示されていました。環境列で第1世代の場合はCloud Run 関数(第 1 世代)、第2世代の場合はCloud Run関数と表示されていました。

スクリーンショット 2024-08-21 9.34.32

Cloud Functions第1世代の関数はCloud Run Functions(第1世代)として引き続き利用可能ですが、第1世代の関数は、Cloud Runの機能に完全にアクセスするためにはCloud Run関数(Cloud Functions第2世代)にアップグレードする必要があるそうです。
Cloud Run Functions(第1世代)のAPI、gcloudコマンド、およびTerraformモジュール(第1世代)は引き続きサポートされるとのことです。

Cloud Runのコンソールを見てみる

Cloud Runのコンソールにコンテナをデプロイリポジトリを接続関数を作成リンクが追加されていました。
スクリーンショット 2024-08-20 18.14.25
コンテナをデプロイを押下すると、Cloud RunサービスまたはCloud Runジョブのどちらをデプロイするか選択できます。

Cloud Run関数になる前は以下の通りでした。
スクリーンショット 2024-08-20 18.16.47

関数を作成を押下するとインライン エディタで関数を作成するが選択された状態でサービスの作成画面が表示されます。
スクリーンショット 2024-08-20 18.01.27
Cloud Functionsが存在していたときは以下の通りでインライン エディタで関数を作成する表示はありませんでした。
スクリーンショット 2024-08-20 18.04.22

Cloud Functionsのgcloudコマンドが使えるか確認してみた

サポートされるとある通り、いくつか試してみましたが問題なく使用することが出来ました。

  • デプロイ
    今まで通り、gcloud functions deployコマンドでCloud Run関数にデプロイすることができました。

  • 関数一覧を表示

#gcloud functions list --regions=asia-northeast1
NAME: function-1-test
STATE: ACTIVE
TRIGGER: HTTP Trigger
REGION: asia-northeast1
ENVIRONMENT: 2nd gen

NAME: function-2-test
STATE: ACTIVE
TRIGGER: HTTP Trigger
REGION: asia-northeast1
ENVIRONMENT: 2nd gen
  • 関数の削除
#gcloud functions delete function-1 --region=asia-northeast1

2nd gen function [projects/project-no/locations/asia-northeast1/functions/function-1] will be deleted.

Do you want to continue (Y/n)?  Y

Preparing function...done.
OK Deleting function...
OK [Artifact Registry]
OK [Service]
Done.                                                                       

gcloudコマンドなどでデプロイしている場合のワークロードも特に影響を受けないと考えます。

所感

もともと第2世代のCloud FunctionsはCloud Runとの違いがあまりないサービスだなと思っていました。Cloud Runと統合されたことより使い勝手のよいサービスに進化していったらもっともっとワクワクしそうだなと思います。Cloud Runの機能(FUSEなど)が使用できるようになったことでさらにCloud Functions(Cloud Run関数)の幅が広がったと思います。  
慣れ親しんだCloud Functionsという名称からCloud Run関数に変わってしまうのは少し寂しく思いますが、進化し続けるCloud RunもといGoogle Cloudに今後も目が離せないなと思います!
それではまた。ナマステー

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.